perm filename REFBUG[POX,WD] blob sn#397680 filedate 1978-11-22 generic text, type T, neo UTF8
\|\\;				Define Brick Character
\;
\M0FIX25;\;	fixed font
\;
\⊂'000040;\;	VERREM - REM's syntax for defining macros with args 
\⊂'000400;\;	VERRHT - modified way to pass args with nest chars
\;
\8OBIND(N,A)[\oPSH[⊗A⊗]\∂⊗N⊗←PSH;]\;
\8OPOP(N)[\∂PSH←⊗N⊗;\∂←PSH;]\;
\;
\8FMTREF(I,TXT)[\QL\Qt\P\!OBIND(AA,(0⊗I⊗));\;
\     ;\1AA;\→t\2AA;\+t\→t\+L\→L\-t\→.⊗I⊗\J⊗TXT⊗\.
\     ;\!OPOP(AA);\p\qt\qL]\;
\;
\!FMTREF(PACNET,(Robert Melancton Metcalfe, "Packet  Communication"  MIT  Project
                   MAC TR-114, Dec 1973));\;
\|\\;				Define Brick Character
\;
\M0FIX25;\;	fixed font
\;
\⊂'000040;\;	VERREM - REM's syntax for defining macros with args 
\⊂'000400;\;	VERRHT - modified way to pass args with nest chars
\;
\8OBIND(N,A)[\oPSH[⊗A⊗]\∂⊗N⊗←PSH;]\;
\8OPOP(N)[\∂PSH←⊗N⊗;\∂←PSH;]\;
\;
\8FMTREF(I,TXT)[\QL\Qt\P\!OBIND(AA,(0⊗I⊗));\;
\N\     ;\1AA;\→t\2AA;\+t\→t\+L\→L\-t\→.⊗I⊗\J⊗TXT⊗\.
\     ;\←=100;\→t\+L\→L\-t\→.⊗I⊗\J⊗TXT⊗\.
\     ;\!OPOP(AA);\p\qt\qL]\;
\;
\!FMTREF(PACNET,(Robert Melancton Metcalfe, "Packet  Communication"  MIT  Project
                   MAC TR-114, Dec 1973));\;
\|\\;				Define Brick Character
\;
\M0FIX25;\;	fixed font
\;
\⊂'000040;\;	VERREM - REM's syntax for defining macros with args 
\⊂'000400;\;	VERRHT - modified way to pass args with nest chars
\;
\8OBIND(N,A)[\oPSH[⊗A⊗]\∂⊗N⊗←PSH;]\;
\8OPOP(N)[\∂PSH←⊗N⊗;\∂←PSH;]\;
\;
\8FMTREF(I,TXT)[\N
\	;\P\QL\QT\N
\	;\←=100;\+L\→L
\	;\←=100;\¬L\→.[⊗I⊗]\N
\	;\J⊗TXT⊗\.
\N\	;\!OBIND(AA,(0\"[⊗I⊗\"] ));\N
\N\	;\1AA;\→T\2AA;\+T\→T\+L\→L\-T\→.[⊗I⊗]\J⊗TXT⊗\.
\N\	;\1AA;\→T\2AA;\+T\←=100;\→T\+L\→L\-T\→.[⊗I⊗]\J⊗TXT⊗\.
\N\	;\←=100;\→T\+L\→L\-T\→.[⊗I⊗]\J⊗TXT⊗\.
\N\	;\!OPOP(AA);\N
\	;\qT\qL\p]\;
\;
\!FMTREF(PACNET,(Robert Melancton Metcalfe, "Packet  Communication"  MIT  Project
                   MAC TR-114, Dec 1973));\;
\|\\;				Define Brick Character
\;
\;
\;			       Define Fonts
\;
\M0FIX25;\;	fixed font
\M1BAXL30;\;	light
\M2BAXI30;\;	italic
\M3BAXB30;\;	bold
\M4CLAR40;\;	title font
\M5BASL35;\;	subtitle font
\M6BDJ20;\;	superscript and subscript font
\M7ZERO30;\;	accents
\M8GRFX25;\;	graphics font
\M9CORON;\;	font for names of sets
\MAMATH30;\;	mathematical font
\;\MBFIX20;\;	small fixed font
\MCGRK30;\;	Greek
\MDCYR30;\;	Cyrillic for the word samizdat
\;
\F0\;		select font 0
\;
\;
\;                           Page Dimensions
\;
\←=200;\→L\;		left margin
\←=1510;\→R\;		right margin
\e=2200;\;		set length of page
\T=200;\;		set top of page
\B=2000;\;		set bottom of page
\;
\;				 Assembly Flags
\;
\∞SUMMARYFLAG[\←=0;]\;	print summaries
\∞REMARKFLAG[\←=1;]\;	print remarks
\∞EDNOTEFLAG[\←=1;]\;	print notes to reviewer
\∞RUNTITFLAG[\←=1;]\;	print running titles
\;
\;
\;			      Special Feature Bits
\;
\⊂'000001;\;	VERHHR - H and h height of font pseudo-register
\⊂'000004;\;	VERSIM - linefeed simulator
\⊂'000010;\;	VERSGK - double gap after period and colon
\⊂'000040;\;	VERREM - REM's syntax for defining macros with args 
\⊂'000100;\;	VEREVE - turn on EVERYPAGE macro
\⊂'000400;\;	VERRHT - modified way to pass args with nest chars
\⊂'010000;\;	VERPAG - automatic page change
\⊂'100000;\;	VERESC - in body of macro, \ converted to <brick> token
\⊂'200000;\;	VERXX1 - correct output overlay
\;
\;
\@NUMER.POX[POX,WD];\;		read in numeric macros
\;
\@STRING.POX[POX,WD];\;		read in file of string macros
\;
\@ROMLET.POX[POX,WD];\;		read letter and roman numeral coversions
\;
\@DATIME.POX[POX,WD];\;		read in date and time macros
\;
\!SETUPDAYTIME;\;		setup date and time data
\;
\∞EVERYPAGE[\N
\	;\P\N				save ac
\	;\!INCR(PAGNUM);\N		increment global page #
\	;\←U\+=1;\→U\N			increment local page #
\	;\!INSECFLAG;\?SECPAGNUM(\DS,\DU);\N
\	;\N				print sec and pag nums ?
\	;\oABSPAG{0 - \!PAGNUM;}\N	global page # overlay
\	;\&DATPAG←DATIM&ABSPAG;\N	join it with date overlay
\	;\WDATPAG,=200;=2150;\N		print date and page overlay
\	;\∂←ABSPAG;\N			expunge abs page overlay
\	;\p]\;				restore ac
\;
\;
\8SECPAGNUM(SEC,PAG)[\N
\	;\oPAGNO{0\!ROMAN(⊗SEC⊗);-⊗PAG⊗}\N
\	;\N				construct local page overlay
\	;\WPAGNO,=800;=2100;\N		print local page overlay
\	;\!EVAL((\∂←)PAGNO(;));]\;	expunge local page overlay
\;
\;
\@MISMAC.POX[POX,WD];\;		load miscellaneous macros
\;
\@SECT.POX[POX,WD];\;		read in section and subsection stuff
\;
\@BUG.POX[POX,WD];\;		read in cit and ref stuff
\;
\∞CURCIT[0]\;
\;
\<=1;CONTEN.TMP;\;
\;
\!EVERYPAGE;\;
\,

\|\\;				Define Brick Character
\;
\⊂'000040;\;	VERREM - REM's syntax for defining macros with args 
\;
\	;\←'0;\→G\;	footnote numbers in notes
\	;\←'0;\→N\;	footnote numbers in text
\;	                Citation and Reference Macros
\;
\8CIT1(1)[\"[\!CIT(⊗1⊗);\"]]\;
\8CIT2(1,2)[\"[CIT(⊗1⊗);,CIT(⊗2⊗);\"]]\;
\8CIT3(1,2,3)[\"[CIT(⊗1⊗);,CIT(⊗2⊗);,CIT(⊗3⊗);\"]]\;
\8CIT4(1,2,3,4)[\N
\	;\"[CIT(⊗1⊗);,CIT(⊗2⊗);,CIT(⊗3⊗);,CIT(⊗4⊗);\"]]\;
\8CIT5(1,2,3,4,5)[\N
\	;\"[CIT(⊗1⊗);,CIT(⊗2⊗);,CIT(⊗3⊗);,CIT(⊗4⊗);,CIT(⊗5⊗);\"]]\;
\8CIT6(1,2,3,4,5,6)[\"[CIT(⊗1⊗);,CIT(⊗2⊗);,CIT(⊗3⊗);,CIT(⊗4⊗);,CIT(⊗5⊗);,CIT(⊗6⊗);\"]]\;
\8CIT7(1,2,3,4,5,6,7)[\N
\	;\"[CIT(⊗1⊗);,CIT(⊗2⊗);,CIT(⊗3⊗);,CIT(⊗4⊗);,CIT(⊗5⊗);,CIT(⊗6⊗);,CIT(⊗7⊗);\"]]\;
\8CIT8(1,2,3,4,5,6,7,8)[\N
\	;\"[CIT(⊗1⊗);,CIT(⊗2⊗);,CIT(⊗3⊗);,CIT(⊗4⊗);,CIT(⊗5⊗);,CIT(⊗6⊗);,CIT(⊗7⊗);,CIT(⊗8⊗);\"]]\;
\8CIT9(1,2,3,4,5,6,7,8,9)[\N
\	;\"[⊗1⊗,CIT(⊗2⊗);,CIT(⊗3⊗);,CIT(⊗4⊗);,CIT(⊗5⊗);,CIT(⊗6⊗);,CIT(⊗7⊗);,CIT(⊗8⊗);,CIT(⊗9⊗);\"]]\;
\;
\8OBIND(N,A)[\oPSH[⊗A⊗]\∂⊗N⊗←PSH;]\;
\8OPOP(N)[\∂PSH←⊗N⊗;\∂←PSH;]\;
\;
\;\8FMTREF(I,TXT)[\QL\Qt\P\!OBIND(AA,(0⊗I⊗));\;
\;\     ;\1AA;\→t\2AA;\+t\→t\+L\→L\-t\→.⊗I⊗\J⊗TXT⊗\.
\;\     ;\!OPOP(AA);\p\qt\qL]\;
\;
\8FMTREF(I,TXT)[\QL\Qt\P\!OBIND(AA,(0⊗I⊗));\;
\     ;\←=100;\→t\+L\→L\-t\→.⊗I⊗\J⊗TXT⊗\.
\     ;\!OPOP(AA);\p\qt\qL]\;
\;
\8MKREFTAG(I)[\N
\	;\P\N
\	;\←=⊗I⊗;\N
\	;\→T\N
\	;\←=9;\N
\	;\¬T\N
\	;\!COMPAC;\N
\	;\?SPACE;\N
\	;[⊗I⊗]  \N
\	;\p]\;
\;
\;\8FMTREF(I,TXT)[\N
\;\	;\P\QL\QT\N
\;\	;\←=100;\+L\→L
\;\	;\←=100;\¬L\→.[⊗I⊗]\N
\;\	;\J⊗TXT⊗\.
\;\N\	;\!OBIND(AA,(0\"[⊗I⊗\"] ));\N
\;\N\	;\1AA;\→T\2AA;\+T\→T\+L\→L\-T\→.[⊗I⊗]\J⊗TXT⊗\.
\;\N\	;\1AA;\→T\2AA;\+T\←=100;\→T\+L\→L\-T\→.[⊗I⊗]\J⊗TXT⊗\.
\;\N\	;\←=100;\→T\+L\→L\-T\→.[⊗I⊗]\J⊗TXT⊗\.
\;\N\	;\!OPOP(AA);\N
\;\	;\qT\qL\p]\;
\;
\8REF(NAME,TEXT)[\N
\	;\!EVAL((\∞)⊗NAME⊗(CITNUM[0]));\N	init citation number
\	;\!EVAL((\∞)⊗NAME⊗(REFTEXT[⊗TEXT⊗]));\N	store reference text
\	;]\;
\8CIT(NAME)[\N
\	;\!EVAL((\←=)\!CITNUM(⊗NAME⊗);(;));\N	get number of citation
\	;\!COMPAC;\N				complement ac
\	;\?DEFCURCIT(⊗NAME⊗);\N			assign new cit numb
\	;\!CITNUM(⊗NAME⊗);\N				print out cit numb
\	;]\;
\;
\8DEFCURCIT(NAME)[\N		increment CURCIT and assign to name
\	;\!INCR(CURCIT);\N			increment CURCIT
\	;\!EVAL((\∞)⊗NAME⊗(CITNUM[)\!CURCIT;(]));\N
\	;\N					assign to name
\	;\!EVAL((\∞CITNUM)\!CURCIT;([)⊗NAME⊗(]));\N
\	;]\;
\;
\8CITNUM(NAME)[\!⊗NAME⊗CITNUM;]\;
\;
\8NTHCIT(NUM)[\!CITNUM⊗NUM⊗;]\;
\;
\8REFTEXT(NAME)[\!⊗NAME⊗REFTEXT;]\;
\;
\8PRINTREF(NUM)[\N
\	;\!FMTREF([⊗NUM⊗],\!REFTEXT(\!NTHCIT(⊗NUM⊗);););]\;
\;
\∞PRINTREFS[\N
\	;\P\QT\N
\	;\←=0;\→T\N
\	;\!LOADAC(CURCIT);\N
\	;\IPRINTREFS1;\N
\	;\qT\p]\;
\;
\∞PRINTREFS1[\N
\	;\-=1;\N
\	;\P\N
\	;\←T\+=1;\→T\N
\	;\!PRINTREF(\DT);\N
\	;\p]\;
\;
\∞FN[\P\←N\+=1;\→N\∩\#\F7\DN\G\⊗\p]\;
\;
\8NOTE(TXT)[\P\←G\+=1;\→G\!FMTREF(\DG,(⊗TXT⊗));\p]\;
\;
\,

\@INTRO;\N
\!PRINTREFS;\;

\;\!PRINTREFS;\;
\!EVAL((\m{)\A=13;\A=10;(}));\N				type crlf
\!EVAL((\m{)\!LOADAC(PAGNUM);\D∀(	)(}));\N	type page num
\>=1;\;				close alternate output file
\⊃'000100;\;	VEREVE - turn off EVERYPAGE macro

\@CONTEN.TMP;\N